Considera dos variables \(X\) y \(Y\) con distribución exponencial donde una tiene valor esperado que sea el doble del valor esperado de la otra (tú decides el parámetro).
Escoge al menos 5 tipos de cópulas para modelar la dependencia entre ellas, para cada cópula escoge parámetros que reflejen una dependencia negativa y una dependencia positiva (en total tendrás 10 modelos). Para cada uno de los 10 modelos:
Muestra la función de distribución conjunta de \(X\) y \(Y\) (la fórmula).
Grafica la función de densidad conjunta de \(X\) y \(Y\).
Varianza de \(X\), \(Y\) y \(X + Y\).
Desviación estándar de \(X\), \(Y\) y \(X + Y\).
Cuantil al 95% de \(X\), \(Y\) y \(X + Y\).
Valor esperado condicional de la cola al 95% de \(X\), \(Y\) y \(X + Y\).
Repite el inciso anterior; pero ahora considera que \(X\) y \(Y\) tienen distribución pareto donde una tiene valor esperado que sea el doble del valor esperado de la otra (tú decides los parámetros).
2 Solución
2.1 Caso Exponencial
Tenemos las siguientes variables aleatorias:
\[X\sim \textbf{Exp}(\lambda)\]
\[Y\sim \textbf{Exp}(2\lambda)\]
donde \(F_{x}(x)=1-e^{-\lambda x}\) y \(F_{y}(y)=1-e^{-2\lambda y}\)
Código
library(copula)library(lattice)library(plotly)source("codigo.R")# Exponential distribution for both marginalslambda <-1# Parameters for the marginals# You can adjust these parameters as neededparams1 <- lambda # Rate for the first exponential distributionparams2 <-2*lambda # Rate for the second exponential distribution
donde \(\Phi_{2}\) es la función de distribución conjunta de una distribución normal bivariada con media cero y varianza uno y correlación \(\rho\) (esta determinará la relación negativa o positiva de las variables); y \(\Phi\) es la función de distribución de una distribución normal estándar.
library(copula)rho =.9# Definir cópula gaussianamyCopulaP1 <-normalCopula(rho, dim =2)myCopulaN1 <-normalCopula(-rho, dim =2)# Generar muestras de la cópulaseed <-191654n=10000set.seed(seed)samples <-rCopula(n, myCopulaP1) # caso positivosamples2 <-rCopula(n, myCopulaN1) # caso negativo# Convertir las muestras a distribuciones exponenciales## caso positivosamples[,1] <-qexp(samples[,1], rate = params1)samples[,2] <-qexp(samples[,2], rate = params2)## caso negativosamples2[,1] <-qexp(samples2[,1], rate = params1)samples2[,2] <-qexp(samples2[,2], rate = params2)library(ks)# Estimación de la densidaddens <-kde(as.matrix(samples)) # caso positivodens2 <-kde(as.matrix(samples2)) # caso negativolibrary(plotly)# Convertir la estimación de densidad a un formato adecuado## caso positivox <- dens$eval.points[[1]] y <- dens$eval.points[[2]]z <-matrix(dens$estimate, nrow =length(x), ncol =length(y))## caso negativox2 <- dens2$eval.points[[1]] y2 <- dens2$eval.points[[2]]z2 <-matrix(dens2$estimate, nrow =length(x2), ncol =length(y2))
2.1.1.2.1 Caso Positivo
Código
## caso positivopersp(x, y, z, theta =30, phi =30, expand =0.5, col ="lightblue",xlab ="X", ylab ="Y", zlab ="Z")
Para obtener los resultados de las estadísticas pedidas se generó una muestra de 1000000 observaciones de la cópula y se calcularon las estadísticas para cada una de las variables aleatorias \(X\) y \(Y\) y para la suma de ambas \(X+Y\). Cabe resaltar que como sí conocemos muy bien las variables aleatorias \(X\) y \(Y\), las estadísticas de estas fueron calculadas de manera analítica. Por último, es importante destacar que el error medio para todos los cálculos simulados es de aproximadamente .005 siendo conservadores en el cálculo y usando un resultado del método Delta no paramétrico.
donde \(\textbf{t}_{\nu}(;\rho)\) es la función de distribución conjunta de una distribución t-Student bivariada estandarizada y con correlación \(\rho\) (esta determinará la relación negativa o positiva de las variables); y \(\textbf{t}_{\nu}\) es la función de distribución de una distribución univaria t-Student.
# Parámetros de la cópula y las distribuciones marginalesrho =0.9df =4# Grados de libertad para la cópula t de Student# Definir cópulas t de StudentmyCopulaP2 <-tCopula(rho, dim =2, df = df)myCopulaN2 <-tCopula(-rho, dim =2, df = df)# Generar muestras de la cópulaset.seed(seed)samples <-rCopula(n, myCopulaP2) # caso positivosamples2 <-rCopula(n, myCopulaN2) # caso negativo# Convertir las muestras a distribuciones exponenciales## caso positivosamples[,1] <-qexp(samples[,1], rate = params1)samples[,2] <-qexp(samples[,2], rate = params2)## caso negativosamples2[,1] <-qexp(samples2[,1], rate = params1)samples2[,2] <-qexp(samples2[,2], rate = params2)library(ks)# Estimación de la densidaddens <-kde(as.matrix(samples)) # caso positivodens2 <-kde(as.matrix(samples2)) # caso negativolibrary(plotly)# Convertir la estimación de densidad a un formato adecuado## caso positivox <- dens$eval.points[[1]] y <- dens$eval.points[[2]]z <-matrix(dens$estimate, nrow =length(x), ncol =length(y))## caso negativox2 <- dens2$eval.points[[1]] y2 <- dens2$eval.points[[2]]z2 <-matrix(dens2$estimate, nrow =length(x2), ncol =length(y2))# Crear gráficos interactivos con plotlyp3 <-plot_ly(x =~x, y =~y, z =~z) %>%add_surface()p4 <-plot_ly(x =~x2, y =~y2, z =~z2) %>%add_surface()
2.1.2.2.1 Caso Positivo
Código
## caso positivopersp(x, y, z, theta =30, phi =30, expand =0.5, col ="lightblue",xlab ="X", ylab ="Y", zlab ="Z")
Para obtener los resultados de las estadísticas pedidas se generó una muestra de 1000000 observaciones de la cópula y se calcularon las estadísticas para cada una de las variables aleatorias \(X\) y \(Y\) y para la suma de ambas \(X+Y\). Cabe resaltar que como sí conocemos muy bien las variables aleatorias \(X\) y \(Y\), las estadísticas de estas fueron calculadas de manera analítica.
# Definir parámetros de la cópula de Claytontheta1 =2# dependencia positivatheta2 =-.9# dependencia negativa# Definir cópulas de ClaytonmyCopulaP3 <-claytonCopula(theta1, dim =2)myCopulaN3 <-claytonCopula(theta2, dim =2)grafCopula3 <-graficaDensidadCopulas(myCopulaP3,myCopulaN3)
Para obtener los resultados de las estadísticas pedidas se generó una muestra de 1000000 observaciones de la cópula y se calcularon las estadísticas para cada una de las variables aleatorias \(X\) y \(Y\) y para la suma de ambas \(X+Y\). Cabe resaltar que como sí conocemos muy bien las variables aleatorias \(X\) y \(Y\), las estadísticas de estas fueron calculadas de manera analítica.
Para obtener los resultados de las estadísticas pedidas se generó una muestra de 1000000 observaciones de la cópula y se calcularon las estadísticas para cada una de las variables aleatorias \(X\) y \(Y\) y para la suma de ambas \(X+Y\). Cabe resaltar que como sí conocemos muy bien las variables aleatorias \(X\) y \(Y\), las estadísticas de estas fueron calculadas de manera analítica.
Para obtener los resultados de las estadísticas pedidas se generó una muestra de 1000000 observaciones de la cópula y se calcularon las estadísticas para cada una de las variables aleatorias \(X\) y \(Y\) y para la suma de ambas \(X+Y\). Cabe resaltar que como sí conocemos muy bien las variables aleatorias \(X\) y \(Y\), las estadísticas de estas fueron calculadas de manera analítica.
Para obtener los resultados de las estadísticas pedidas se generó una muestra de 1000000 observaciones de la cópula y se calcularon las estadísticas para cada una de las variables aleatorias \(X\) y \(Y\) y para la suma de ambas \(X+Y\). Cabe resaltar que como sí conocemos muy bien las variables aleatorias \(X\) y \(Y\), las estadísticas de estas fueron calculadas de manera analítica.
donde \(\textbf{t}_{\nu}(;\rho)\) es la función de distribución conjunta de una distribución t-Student bivariada estandarizada y con correlación \(\rho\) (esta determinará la relación negativa o positiva de las variables); y \(\textbf{t}_{\nu}\) es la función de distribución de una distribución univaria t-Student.
# Parámetros de la cópula y las distribuciones marginalesrho =0.9df =4# Definir cópulas t de StudentmyCopulaP2 <-tCopula(rho, dim =2, df = df)myCopulaN2 <-tCopula(-rho, dim =2, df = df)pgrafCopula2 <-graficaDensidadCopulas2(myCopulaP2,myCopulaN2)
Para obtener los resultados de las estadísticas pedidas se generó una muestra de 1000000 observaciones de la cópula y se calcularon las estadísticas para cada una de las variables aleatorias \(X\) y \(Y\) y para la suma de ambas \(X+Y\). Cabe resaltar que como sí conocemos muy bien las variables aleatorias \(X\) y \(Y\), las estadísticas de estas fueron calculadas de manera analítica.
# Definir parámetros de la cópula de Claytontheta1 =2# dependencia positivatheta2 =-.9# dependencia negativa# Definir cópulas de ClaytonmyCopulaP3 <-claytonCopula(theta1, dim =2)myCopulaN3 <-claytonCopula(theta2, dim =2)pgrafCopula3 <-graficaDensidadCopulas2(myCopulaP3,myCopulaN3)
Para obtener los resultados de las estadísticas pedidas se generó una muestra de 1000000 observaciones de la cópula y se calcularon las estadísticas para cada una de las variables aleatorias \(X\) y \(Y\) y para la suma de ambas \(X+Y\). Cabe resaltar que como sí conocemos muy bien las variables aleatorias \(X\) y \(Y\), las estadísticas de estas fueron calculadas de manera analítica.
Para obtener los resultados de las estadísticas pedidas se generó una muestra de 1000000 observaciones de la cópula y se calcularon las estadísticas para cada una de las variables aleatorias \(X\) y \(Y\) y para la suma de ambas \(X+Y\). Cabe resaltar que como sí conocemos muy bien las variables aleatorias \(X\) y \(Y\), las estadísticas de estas fueron calculadas de manera analítica.
Para obtener los resultados de las estadísticas pedidas se generó una muestra de 1000000 observaciones de la cópula y se calcularon las estadísticas para cada una de las variables aleatorias \(X\) y \(Y\) y para la suma de ambas \(X+Y\). Cabe resaltar que como sí conocemos muy bien las variables aleatorias \(X\) y \(Y\), las estadísticas de estas fueron calculadas de manera analítica.